Published 2022-06-08
Postgresql - IS NULL
使用 Postgresql IS NULL
运算符来检查值是否为 NULL。
IS NULL
在数据库中,NULL
是一个特殊的值,它表示一个值没有被设置。
NULL
和任何值比较都会返回 NULL,即使是NULL
本身。
NULL = NULL
首先创建一个表,并且插入一些数据:
CREATE TABLE contacts(
id INT GENERATED BY DEFAULT AS IDENTITY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(15),
PRIMARY KEY (id)
);
INSERT INTO contacts(first_name, last_name, email, phone)
VALUES ('John','Doe','john.doe@example.com',NULL),
('Lily','Bush','lily.bush@example.com','(408-234-2764)');
找出contacts
表中没有电话号码的联系人
SELECT
id,
first_name,
last_name,
email,
phone
FROM
contacts
WHERE
phone = NULL;
以上语句没有返回任何结果。因为phone=NULL
总是返回false
,应当使用phone IS NULL
SELECT
id,
first_name,
last_name,
email,
phone
FROM
contacts
WHERE
phone IS NULL;
IS NOT NULL
与IS NULL
相反,IS NOT NULL
检查值是否不为 NULL。
比如,查询有电话号码的联系人
SELECT
id,
first_name,
last_name,
email,
phone
FROM
contacts
WHERE
phone IS NOT NULL;
Comments
No Comments!